#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# @Time : 2020/12/14 21:43 
# @Author : wulinlin 
# @Version：V 0.1
# @File : collect_keywords.py
# @desc : 收集公司关键字


import redis
import datetime
import umsgpack
from spider_qcc.tools import logger, general_tool
from spider_qcc.config import db_con, pro_settings


class CollectKeyWord(object):
    key_pool_name = pro_settings.REDIS_KEYWORDS_POOL_NAME
    gen = general_tool.GeneralTool()

    def __init__(self):
        self._logger = logger.Logger('../log/{date_str}.log'.format(date_str=datetime.date.today()), "collect_kw")
        self.redis_con = redis.Redis(**db_con.redis_dev)

    def pop_key_from_queue(self):
        """ 从redis队列中弹出一个关键字 """
        res = self.redis_con.rpop(self.key_pool_name)
        if res:
            return umsgpack.unpackb(res)
        return None

    def push_key(self, company_name, is_queue):
        """给定一个公司名 返回一个关键字 如果is_queue True 插入redis队列  否则 直接返回对应值"""
        res = self.gen.split_keywords(company_name)
        if res:
            if is_queue:
                self.redis_con.lpush(self.key_pool_name, umsgpack.packb(res))
                return None
            return res

    def __del__(self):
        self.redis_con.close()


if __name__ == '__main__':
    pass